#include<stdio.h>
#include<string.h>
char juzi[100];
int i,j,k;
int main()
{
    int alpha(char);//判断当前输入的是不是英文
    int zhaodc(char [ ]);
    printf("输入一行英语句子\n");
    gets(juzi);
    printf("最长的单词是%s:\n");
    for(i=zhaodc(juzi);alpha(juzi[i]);i++)//找到最长单词的首字母依次输出这个单词，到后面空格以判断这不在范围内就结束输出了
        printf("%c",juzi[i]);
    printf("\n");
    return 0; 
}

int alpha(char rs)//判断输入的是英文字母
{
    if((rs>='a'&&rs<='z')||(rs>='A'&&rs<='Z'))
        return(1);
    else
        return(0);
}
int zhaodc(char a[ ])
{
    int len=0,length=0,flag=1,place=0,point;
    for(i=0;i<=strlen(juzi);i++)//从place开始输出
        if(alpha(juzi[i]))//确认输入的是英文单词了
            if(flag)//flag默认为1，这一步确实很巧妙
            {
                point=i;//每个单词首字母的下标
                flag=0;//flag归置为0，好让后面统计字符串长度的的len加1
            }
            else//这里发生跳转，它这个长度+1了
                len++;
        else//这里的条件是在向后推进时遇到了单词与单词之间的空格
        {
            flag=1;
            if(len>=length)//length前面设置成0，方便我们交换
            {
                length=len;
                place=point;//设置最长单词的下标为place
                len=0;
            }
        }
    return(place);//返回place值，开始输出
    
}
